<
algorithm> (JBIG) An
experts group of
ISO,
IEC and
ITU-T (JTC1/SC2/WG9 and SGVIII) working to define a
compression standard for
lossless image coding. Their
proposed
algorithm features compatible
progressive coding
and
sequential coding and is lossless - the
image is
unaltered after compression and decompression.
JBIG can handle images with from one to 255 bits per
pixel.
Better compression algorithms exist for more than about eight
bits per pixel. With multiple bits per pixel,
Gray code can
be used to reduce the number of bit changes between adjacent
decimal values (e.g. 127 and 128), and thus improve the
compression which JBIG does on each
bitplane.
JBIG uses discrete steps of detail by successively doubling
the
resolution. The sender computes a number of resolution
layers and transmits these starting at the lowest resolution.
Resolution reduction uses pixels in the high resolution layer
and some already computed low resolution pixels as an index
into a lookup table. The contents of this table can be
specified by the user.
Compatibility between progressive and sequential coding is
achieved by dividing an
image into stripes. Each stripe is a
horizontal bar with a user definable height. Each stripe is
separately coded and transmitted, and the user can define in
which order stripes, resolutions and bitplanes are intermixed
in the coded data. A progressively coded
image can be decoded
sequentially by decoding each stripe, beginning by the one at
the top of the
image, to its full resolution, and then
proceeding to the next stripe. Progressive decoding can be
done by decoding only a specific resolution layer from all
stripes.
After dividing an
image into
bitplanes,
resolution layers
and stripes, eventually a number of small
bi-
level bitmaps
are left to compress. Compression is done using a
Q-coder.
The Q-coder codes
bi-
level pixels as symbols using the
probability of occurrence of these symbols in a certain
context. JBIG defines two kinds of context, one for the
lowest resolution layer (the base layer), and one for all
other layers (differential layers). Differential layer
contexts contain pixels in the layer to be coded, and in the
corresponding lower resolution layer.
For each combination of pixel values in a context, the
probability distribution of black and white pixels can be
different. In an all white context, the probability of coding
a white pixel will be much greater than that of coding a black
pixel. The Q-coder, like
Huffman coding, achieves
compression by assigning more bits to less probable symbols.
The Q-coder can, unlike a Huffman coder, assign one output
code bit to more than one input symbol, and thus is able to
compress
bi-
level pixels without explicit
clustering, as
would be necessary using a Huffman coder.
[
What is "clustering"?]
Maximum compression will be achieved when all probabilities
(one set for each combination of pixel values in the context)
follow the probabilities of the pixels. The Q-coder therefore
continuously adapts these probabilities to the symbols it
sees.
JBIG can be regarded as two combined algorithms:
(1) Sending or storing multiple representations of images at
different resolutions with no extra storage cost.
Differential layer contexts contain pixels in two resolution
layers, and so enable the Q-coder to effectively code the
difference in information between the two layers, instead of
the information contained in every layer. This means that,
within a margin of approximately 5%, the number of resolution
layers doesn't effect the compression ratio.
(2) A very efficient compression algorithm, mainly for use
with
bi-
level images. Compared to
CCITT Group 4, JBIG is
approximately 10% to 50% better on text and line art, and even
better on
halftones. JBIG, just like
Group 4, gives worse
compression in the presence of noise in images.
An example application would be browsing through an
image
database.
[
"An overview of the basic principles of the Q-coder adaptive
binary arithmetic coder", W.B. Pennebaker, J.L. Mitchell,
G.G. Langdon, R.B. Arps, IBM Journal of research and
development, Vol.32, No.6, November 1988, pp. 771-726].
Joint Bi-level Image Experts Groupluigi/MPEG/jbig.html">http://crs4.it/Joint Bi-level Image Experts Groupluigi/MPEG/jbig.html.
(1998-03-29)